Skip to content

GAN模型的评价指标 ​

IS(Inception score)

FID (Fréchet inception distance)

1. Inception Score ​

IS 用来衡量 GAN 网络的两个指标:

  1. 生成图片的质量
  2. 多样性

(1) 图片质量 ​

希望 P(y|x) 可以被高度预测(熵值较低),这个概率反映图片质量。

使用 Inception network 来对生成的图像进行分类,然后预测 P(y|x),x是生成的图片,y是标签。

如果 Inception network 能以较高的概率预测图片中包含的物体,就说明图片质量较高。

综上:P(y|x) 代表图片质量,概率越大,质量越高

(2) 多样性 ​

计算边缘概率:

∫zp(y|x=G(z))dz

G(z) 是生成器用噪声z得到的输出图像

如果生成器的多样性好,则 p(y) 的熵则大

KL散度 ​

为了综合两个指标,使用 KL-divergence 并用以下公式得到:

IS(G)=exp(Ex∈pDKL(p(y|x)||p(u)))

(KL散度衡量两个分布之间的距离)

IS的问题 ​

  1. 越真实的图片,分类网络输出的分布越尖锐?物体所属类别在分类网络中不存在,它的分布函数依然尖锐吗?
  2. 输出图片均匀覆盖每个类别,就意味着不存在 mode collapse?
  3. 分类模型和生成模型应在同一个训练集上训练,否则分类模型计算的边缘分布将不准确,而分类模型对单个图片的预测也将不能真实反映图片的清晰程度。

2. Fréchet Inception Distance ​

计算真实图片和生成图片在 feature 层面的距离。

用预训练的 Inception V3 来提取全连接层之前的2048维向量,作为图片的特征。(预训练好的神经网络顶层可以提取图片的高级信息)

FID=||μr−μg||2+Tr(Σr+Σg−2(ΣrΣg)1/2)

μr:真实图片的特征的均值

μg:生成图片的特征的均值

Σr:真实图片的特征的协方差矩阵

Σg:生成图片的特征的协方差矩阵

FID 用以衡量两个多元正态分布的距离

优点 ​

  1. 生成模型的训练集可以与 Inception V3 的训练集不同。
  2. 同时用到了生成的数据和真实的数据,比 IS 更灵活。(IS 是把生成数据与 ImageNet 数据比较)。
  3. 以优化 FID 为目标不会产生对抗样本。因为优化的是 latent space feature,不是最终输出图片,不会导致最终生成的图片失真。

问题 ​

  1. FID 用某一层的特征分布,是否足以衡量真实数据与生成数据分布的距离?且 FID 计算的是多元正态分布的距离,但提取的特征并不是多元正态分布。
  2. 对同一个生成模型,不同框架下预训练的 Inception V3 算出的 FID 差别是否可忽略?
  3. 无法反映生成模型过拟合的情况。如果某个生成模型只是简单拷贝训练数据,FID 会非常小。

FID和IS都是基于特征提取,也就是依赖于某些特征的出现或者不出现。但是他们都无法描述这些特征的空间关系。

Released under the MIT License.